#include <stdlib.h>
#include <stdio.h>
#include "arista.h"

struct sArista
{
	Nodo n1;
	Nodo n2;
	int weight;
};

Arista
arista_create(Nodo n1, Nodo n2, int w)
{
	Arista a;
	
	a = (Arista) malloc (sizeof(struct sArista));
	if (a!=NULL)
	{
		a->n1 = n1;
		a->n2 = n2;
		a->weight = w;
	}
	else
	{
		perror("No hay memoria para nueva arista (arista_create)");
		exit(EXIT_FAILURE);
	}
return a;
}

Arista
arista_clone(Arista a)
{
	int nn1, nn2, w2;
	Arista b;
	nn1 = a->n1;
	nn2 = a->n2;
	w2 = a->weight;
	b = arista_create(nn1, nn2, w2);
return b;
}

int
arista_weight(Arista a)
{
	int w;
	w = a->weight;
return w;
}

Arista
arista_destroy(Arista a)
{
	if (a!=NULL)
	{
		free(a);
		a = NULL;
	}
return a;
}

Nodo
arista_fst(Arista a)
{
	Nodo n1;
	n1 = a->n1;
return n1;
}

Nodo
arista_snd(Arista a)
{
	Nodo n2;
	n2 = a->n2;
return n2;
}
